If a tape device detected during system startup is listed in the
_tttt_ssss_...._cccc_oooo_nnnn_ffff_iiii_gggg table, identified by product and vendor identifiers, the device
is assigned to the tape support system. Devices supported by the tape
support system are defined by the _tttt_ssss______tttt_yyyy_pppp_eeee_ssss table in the _mmmm_aaaa_ssss_tttt_eeee_rrrr_...._dddd_////_ssss_cccc_ssss_iiii
file.
Only the number of characters specified for the vendor or product
identifier is used on the comparison with the identifying information
returned by a device.
The _tttt_ssss______tttt_yyyy_pppp_eeee_ssss table also defines the modes supported by the device and the
hardware inventory type of the device.
+o The modes include variable block, compression, the speed, and a list
of density values supported and their corresponding alias and
hardware graph canonical names. The density values are used in a
device command to set the density.
+o The hardware inventory type identifies the type of the device as
defined in the _iiii_nnnn_vvvv_eeee_nnnn_tttt_...._hhhh file.
PPPPaaaaggggeeee 1111
ttttssss((((7777)))) ttttssss((((7777))))
A _tttt_ssss______tttt_yyyy_pppp_eeee_ssss entry is defined as follows:
typedef struct ts_types {
u_char ts_hinv;
u_char ts_vendor[TS_MAX_VENDOR];
u_char ts_product[TS_MAX_PRODUCT];
uint ts_compress : 1;
uint ts_speed : 1;
uint ts_variable : 1;
uint_t ts_numdens;
char **ts_dens_hwg;
char **ts_dens_alias;
u_char ts_dens_code[TS_MAX_DENSITY];
} ts_types_t;
In the following example, the tape support driver supports all DLT 7000
The personality daemons use the embedded support partner (ESP) event
facility to record events related to tape errors and tape unloads. These
events are recorded with the event class "Tape". Messages are written to
the system log with unique sequence numbers (special ESP identifiers also
called TypeIds). The system administrator may configure special actions
that ESP may take when these events occur. For more information about
ESP usage, see the _eeee_ssss_pppp(5) man page.
Use the following _eeee_ssss_pppp_cccc_oooo_nnnn_ffff_iiii_gggg command to see the events recorded in the
"Tape" class:
espconfig -list evtype -cd "Tape"
The personality daemons also record information about some device events
in an ASCII log file. The path to the log file is
_////_vvvv_aaaa_rrrr_////_ssss_pppp_oooo_oooo_llll_////_tttt_ssss_////_pppp_dddd_////_llll_oooo_gggg_////_tttt_ssss_pppp_dddd_...._llll_oooo_gggg. The records contain a number of fields,
which are separated by the back quote character.
The fields are specified in a log record in the following order: (Double
back quotes indicate the field has no value.)
_d_a_t_e Date of the event, the year, month, and day, as
_y_y_y_y/_m_m/_d_d.
_t_i_m_e Time of the event, the hour, minute, and second, as
_h_h:_m_m:_s_s.
_v_e_r_s_i_o_n The version number of the log record. Version 1 is
the only valid version.
_e_v_e_n_t Event type. The following event types may be
supported:
_AAAA_dddd_aaaa_pppp_tttt_oooo_rrrr _eeee_rrrr_rrrr_oooo_rrrr A command ended in an adaptor
error.
PPPPaaaaggggeeee 3333
ttttssss((((7777)))) ttttssss((((7777))))
_CCCC_hhhh_eeee_cccc_kkkk _eeee_rrrr_rrrr_oooo_rrrr A command ended in a check
condition.
_CCCC_llll_eeee_aaaa_rrrr Persistent reservation is cleared
by another host.
_LLLL_oooo_gggg_////_MMMM_oooo_dddd_eeee _cccc_hhhh_aaaa_nnnn_gggg_eeee_dddd Log or mode parameter value
changed by another host.
_LLLL_oooo_ssss_tttt _pppp_rrrr_ssss_vvvv Lost persistent reservation
because it is preempted or
cleared by another host.
_PPPP_rrrr_eeee_eeee_mmmm_pppp_tttt A persistent reservation is
preempted by another host.
_SSSS_CCCC_SSSS_IIII _eeee_rrrr_rrrr_oooo_rrrr A command ended in a SCSI error.
_RRRR_eeee_ssss_eeee_rrrr_vvvv_eeee A _rrrr_eeee_ssss_eeee_rrrr_vvvv_eeee command is successfully
executed.
_RRRR_eeee_llll_eeee_aaaa_ssss_eeee A _rrrr_eeee_llll_eeee_aaaa_ssss_eeee command is successfully
executed.
_UUUU_nnnn_llll_oooo_aaaa_dddd An _uuuu_nnnn_llll_oooo_aaaa_dddd command is successfully
executed.
_d_e_v_i_c_e _n_a_m_e Device name without the _////_hhhh_wwww_////_tttt_aaaa_pppp_eeee prefix.
_d_e_v_i_c_e _t_y_p_e Device type.
_v_o_l_u_m_e _i_d Volume identifier specified by the MTSETVID _iiii_oooo_cccc_tttt_llll
command. Applications use this command to set the
volume identifier of a mounted volume in the
personality daemon.
Applications may set the volume identifier just
before mounting a tape. The following code sets a
volume identifier:
#include <mtio.h>
{
struct mtvid vid;
strncpy(vid.vid, "MYVID", MT_MAX_VID);
if (ioctl(fd, MTSETVID, &vid)) {
printf("MTSETVID error: %s.0, strerror(errno));
}
}
PPPPaaaaggggeeee 4444
ttttssss((((7777)))) ttttssss((((7777))))
The volume identifier is cleared when a tape is
unloaded.
_p_r_o_c_e_s_s _i_d The process identifier of the process that made the
request.
_l_a_s_t _S_C_S_I _c_o_m_m_a_n_d The SCSI command that caused the log record to be
recorded.
_s_e_n_s_e_k_e_y The sensekey if the event is check error.
_m_e_s_s_a_g_e A message generated by the personality daemon.
_d_a_t_a _t_y_p_e The type of data in the next field. The following
data types are recorded:
_ssss_eeee_nnnn_ssss_eeee Sense bytes
_llll_oooo_gggg _pppp_aaaa_gggg_eeee A log sense page
_cccc_oooo_mmmm_mmmm_aaaa_nnnn_dddd The command that has an error
_dddd_aaaa_tttt_aaaa The data that has an error
_d_a_t_a The data in groups of four bytes, recorded in 8 bytes
of hexadecimal digits, separated by a blank.
If a log record contains additional _dddd_aaaa_tttt_aaaa _tttt_yyyy_pppp_eeee and _dddd_aaaa_tttt_aaaa pairs, these
follow the initial pair, starting in field 14.
For additional information about the log file, see the _tttt_ssss_aaaa_rrrr_cccc_hhhh_iiii_vvvv_eeee(1M) and
_tttt_ssss_eeee_rrrr_rrrr_pppp_tttt(1M) man pages.
When a personality daemon starts, it reads the configuration file for the
personality daemons if the file exists. This optional file,
_////_eeee_tttt_cccc_////_cccc_oooo_nnnn_ffff_iiii_gggg_////_tttt_ssss_pppp_dddd_...._cccc_oooo_nnnn_ffff_iiii_gggg, contains values for the personality daemons.
The following options are supported:
_TTTT_RRRR_AAAA_CCCC_EEEE
Enables debug tracing. The trace entries are entered in the
_aaaa_llll_llll Specifies that _PPPP_RRRR_EEEE_VVVV_EEEE_NNNN_TTTT______RRRR_EEEE_MMMM_OOOO_VVVV_AAAA_LLLL applies to all
devices.
A personality daemon only processes an option if
_p_a_t_h_n_a_m_e matches the name of its own device file.
_v_a_l_u_e Specifies whether _PPPP_RRRR_EEEE_VVVV_EEEE_NNNN_TTTT______RRRR_EEEE_MMMM_OOOO_VVVV_AAAA_LLLL is enabled. _v_a_l_u_e
is one of the following:
_oooo_nnnn Prevents tape removal while the tape device is
opened.
_oooo_ffff_ffff Allows tape removal while the tape device is
opened.
The following example shows a configuration file with 2 lines. When
these lines are read by personality daemons supporting the
_////_hhhh_wwww_////_tttt_aaaa_pppp_eeee_////_tttt_pppp_ssss_1111_2222_dddd_3333 and _////_hhhh_wwww_////_tttt_aaaa_pppp_eeee_////_tttt_pppp_ssss_5555_dddd_6666 devices, tracing is turned off for
the _////_hhhh_wwww_////_tttt_aaaa_pppp_eeee_////_tttt_pppp_ssss_1111_2222_dddd_3333 device and on for the _////_hhhh_wwww_////_tttt_aaaa_pppp_eeee_////_tttt_pppp_ssss_5555_dddd_6666 device.
TRACE /hw/tape/tps12d3 off
TRACE /hw/tape/tps5d6 on
For information on changing option settings after the system has been
started, see the _tttt_ssss_ssss_eeee_tttt(1M) man page.
_mmmm_aaaa_ssss_tttt_eeee_rrrr_...._dddd_////_ssss_cccc_ssss_iiii file that contains the _tttt_ssss______tttt_yyyy_pppp_eeee_ssss table
_////_vvvv_aaaa_rrrr_////_ssss_pppp_oooo_oooo_llll_////_tttt_ssss_////_pppp_dddd_////_llll_oooo_gggg_////_tttt_ssss_pppp_dddd_...._llll_oooo_gggg tape support log file